package com.co.notaweb.bussines.system;

import java.util.List;

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.co.notaweb.entities.Persona;
import com.co.notaweb.entities.system.Usuario;

/**
 * @author PC
 * @version 1.0
 * @created 13-nov-2011 12:14:23
 */
@Stateless
@TransactionAttribute(TransactionAttributeType.MANDATORY)
public class UsuarioBussines implements IUsuarioBussinesLocal {
	@PersistenceContext(unitName = "notaweb")
	private EntityManager em;

	public UsuarioBussines() {

	}

	/**
	 * 
	 * @param usuario
	 */
	public void create(Usuario usuario) {
		em.persist(usuario);

	}

	/**
	 * 
	 * @param usuario
	 */
	public void delete(Usuario usuario) {
		em.remove(usuario);
	}

	/**
	 * 
	 * @param usuario
	 */
	public void edit(Usuario usuario) {
		em.merge(usuario);
	}

	/**
	 * 
	 * @param id
	 */
	public Persona consultarPersonaPorUsername(String username){
		List<Persona> list = em.createNamedQuery("Persona.personaByUsername")
				.setParameter("username", username)
				.getResultList();
		if(!list.isEmpty()){
			return list.get(0);
		}
		return null;
	}
		

}